package com.snpic.appaw.module.third.api.deepOCR;

import com.fhs.core.trans.anno.AutoTrans;
import com.snpic.appaw.framework.common.pojo.CommonResult;
import com.snpic.appaw.module.third.api.deepOCR.dto.*;
import com.snpic.appaw.module.third.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import static com.snpic.appaw.module.third.api.sms.SmsSenderApi.PREFIX;

/**
 * @author JiJun
 * @date 2025/9/11 9:43
 * @修改时间 2025/9/11 9:43
 * @description 易道博识DeepOCR平台
 */
@FeignClient(name = ApiConstants.NAME)
@Tag(name = "RPC 服务 - 易道博识DeepOCR平台")
@AutoTrans(namespace = PREFIX, fields = {"nickname"})
public interface DeepOCRApi {

	String PREFIX = ApiConstants.PREFIX + "/deepOCR";

	/**
	 * 行驶证(正页识别)
	 */
	@PostMapping(PREFIX + "/vehicle_license")
	@Operation(summary = "行驶证(正页识别)")
	public CommonResult<VehicleLicenseRespDTO> vehicleLicense(@RequestBody @Valid VehicleLicenseReqDTO reqDTO);

	/**
	 * 行驶证(副页识别)
	 */
	@PostMapping(PREFIX + "/vehicle_license_back")
	@Operation(summary = "行驶证(副页识别)")
	public CommonResult<VeBackRespDTO> veBack(VeBackReqDTO reqDTO);

	/**
	 * 身份证结构化识别V1
	 * 返回结果显示正反面
	 */
	@PostMapping(PREFIX + "/id_card")
	@Operation(summary = "身份证结构化识别V1")
	public CommonResult<IdCardRespDTO> idCard(@RequestBody @Valid IdCardReqDTO reqDTO);

}
